package com.woniuxy.yoga.progress.service;

import com.woniuxy.yoga.progress.dao.model.Pricard;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.yoga.progress.model.form.GetUnfinishPriByIdForm;
import com.woniuxy.yoga.progress.model.param.CreatePriCardParam;

/**
 * <p>
 * 私教课流程表 服务类
 * </p>
 *
 * @author 韦用文,刘存益,郎腾霄
 * @since 2023年11月28日
 */
public interface PricardService extends IService<Pricard> {

    /**
     * 创建私教课进度表
     * @param param 创建私教课进度表参数
     */
    void createPriCard(CreatePriCardParam param);

    /**
     * 完成私教卡
     * @param pricardId 私教卡id
     */
    void finishPricard(Integer pricardId);

    /**
     * 查询未完成私教卡
     * @param userId userId
     * @return Pricard
     */
    Pricard getUnfinishPri(Integer userId);

    /**
     * 私教次数+1
     * @param pricardId pricardId
     * @throws Exception Exception
     */
    void addSubCardCount(Integer pricardId) throws Exception;

    /**
     * 查询未完成私教卡
     * @param form form
     * @return Pricard
     */
    Integer getUnfinishPriById(GetUnfinishPriByIdForm form);
}
